The present invention relates to a networked computing devices, and more particularly to network connected computing device and server and a method of notifying the server of a network connection by the computing device.
Packet switched computer data networks have become widely used. The public internet is a well known example of such a network. Packet switched data networks allow network interconnected computing devices to communicate by exchanging data bundled in packets or datagrams. Packets are routed between computing devices using unique source and destination addresses forming part of the packets. In order to limit overhead, the source and destination addresses are of limited size. The standard internet protocol, for example, currently uses network addresses that may be represented by thirty-two bits.
Many computing devices that use a packet switched network are not permanently connected to the network, but are instead connected intermittently for sessions of varying duration. End-user computing devices used as home computers, for example, are typical of such intermittently connected devices.
In order to avoid depletion of unique network addresses, such an end-user computing device is usually assigned a network address dynamically, once per session. A session network address is provided to the end-user computing device each time a session is established. This address is used throughout the session. This, of course, limits access to the end-user computing device during the session to those other networked computers that are aware of the end-user computing device session network address for that session. These other computers are typically only those with which the end-user computing device has previously provided the network address, and are thus most typically limited to those computers that have been contacted by the end-user computing device during the session.
As a result, intermediate computing devices, such as e-mail servers with non-varying network addresses are often used to receive and buffer messages intended for the end-user computing device. The end-user device may contact such intermediaries to request and retrieve the stored messages.
Often, however, it is desirable to provide data to the end-user computing device in real time, without the end-user computer first requesting that the data be provided. Such provision of data is often referred to as xe2x80x9cpushingxe2x80x9d data to the end-user computing device. This is, for example, desirable in order to provide the end-user device with a notification of an external event, such as notification of a news event; notification of another user""s interconnection with the network; notification of an incoming message such as a facsimile or e-mail; or the like.
Such real-time notification may be made possible by providing another network interconnected computer, referred to as a message server, with an indicator that the end-user computing device is connected to the network and with the current session network address of the end-user computing device. The message server may then xe2x80x9cpushxe2x80x9d data to the end-user computing device.
The indicator and network address from the end-user computing device may be provided to the message server in numerous ways. The simplest known way is to initiate a program at the end-user device that is specifically used to receive xe2x80x9cpushedxe2x80x9d messages from the message server once a network connection has been established. This program may then provide the end-user device session network address to the server. This, however, requires a separate program to be executed at the end-user device upon establishing the network connection. Such a program is typically platform dependent, designed and programmed to take into account the particular hardware and operating system features of the end-user device. For different end-users, operating different types of computers, multiple versions of the same program are required.
The present invention seeks a more elegant method and system of notifying a remote server of an end-user computer assigned network address.
In accordance with the present invention, there is provided a method of operating a network interconnected computing device to provide an assigned network address identifying the computing device on the network to a server, the method comprising the steps of:
a. obtaining the assigned network address at the computing device;
b. contacting the server and providing an identifier of the computing device and the network address to the server; and
c. contacting a second network interconnected server at a second network address stored with at least one of the server and the computing device.
In accordance with another aspect of the invention, there is provided a method of operating a computer network interconnected server comprising the steps of:
a. maintaining a database containing identifiers of known network interconnected computing devices;
b. obtaining, an identifier and an assigned network address of an interconnected computing device from the computing device;
c. comparing the identifier to entries of the database to find a matching entry in the database;
d. in response to finding a matching entry, storing the assigned network address of the computing device at the server; and
e. providing the computing device with a second network address to be accessed by the computing device.
In accordance with a further aspect of the invention, there is provided a data network interconnected server comprising:
a processor;
computer memory, in communication with the processor;
a network interface in communication with the processor;
the computer memory containing
i. a database; and
ii. processor readable instructions adapting the processor to,
a. obtain an identifier and an assigned network address of a network interconnected computing device from the network interconnected computing device;
b. compare the identifier to entries of the database to find a matching entry in the database;
c. in response to finding a matching entry, storing the assigned network address of the computing device at the server; and
d. provide the computing device with a second network address to be accessed by the computing device.
According to yet a further aspect of the invention, there is provided a computer network interconnected server comprising:
a. means for maintaining a database containing identifiers of known network interconnected computing devices;
b. means for obtaining, an identifier and an assigned network address of an interconnected computing device from the computing device;
c. means for comparing the identifier to entries of the database to find a matching entry in the database;
d. means for storing the assigned network address of the computing device at the server in response to finding a matching entry; and
e. providing the computing device with a second network address to be accessed by the computing device.
According to yet a further aspect of the present invention, there is provided a method of operating a network interconnected computing device and server, comprising the steps of:
a. obtaining an assigned network address at the computing device;
b. contacting the server and providing an identifier of the computing device and the assigned network address to the server;
c. comparing the identifier to entries of a database stored at the server to find a matching entry in the database;
d. in response to finding a matching entry, storing the assigned network address at the server;
f. contacting a network interconnected computer at the second network address to provide data to the computing device.
According to yet a further aspect of the invention, there is provided a computer readable medium storing computer software and data, that when loaded by a server having a network interface, adapts the server to,
a. maintain a database containing identifiers of known network interconnected computing devices;
b. obtain an identifier and an assigned network address of an interconnected computing device from the computing device using the network interface;
c. compare the identifier to entries of the database to find a matching entry in the database;
d. in response to finding a matching entry, store the assigned network address of the computing device at the server; and
e. provide the computing device with a second network address to be accessed by the computing device, using the network interface.
Advantageously, methods and software in accordance with the invention are not dependent upon specific software or hardware platforms otherwise used by an end-user computing device.
Advantageously, the session network address may be provided to a server without repeated intervention by an end-user, and transparently to the end-user.